home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1998 January: Technology Seed / Jan. '98 ATS.toast / QuickTime™ 3.0b11 / QTPublicInterfaces / CIncludes / Icons.h < prev    next >
Encoding:
C/C++ Source or Header  |  1998-01-12  |  17.6 KB  |  536 lines  |  [TEXT/MPS ]

  1. /*
  2.      File:        Icons.h
  3.  
  4.      Contains:    Icon Utilities Interfaces.
  5.  
  6.      Version:    Technology:    System 8
  7.                  Release:    QuickTime 3.0 Beta
  8.  
  9.      Copyright:    © 1990-1997 by Apple Computer, Inc. All rights reserved
  10.  
  11.      Bugs?:        Please include the the file and version information (from above) with
  12.                  the problem description.  Developers belonging to one of the Apple
  13.                  developer programs can submit bug reports to:
  14.  
  15.                      devsupport@apple.com
  16.  
  17. */
  18. #ifndef __ICONS__
  19. #define __ICONS__
  20.  
  21. #ifndef __MACTYPES__
  22. #include <MacTypes.h>
  23. #endif
  24. #ifndef __QUICKDRAW__
  25. #include <Quickdraw.h>
  26. #endif
  27.  
  28.  
  29.  
  30. #if PRAGMA_ONCE
  31. #pragma once
  32. #endif
  33.  
  34. #ifdef __cplusplus
  35. extern "C" {
  36. #endif
  37.  
  38. #if PRAGMA_IMPORT
  39. #pragma import on
  40. #endif
  41.  
  42. #if PRAGMA_STRUCT_ALIGN
  43.     #pragma options align=mac68k
  44. #elif PRAGMA_STRUCT_PACKPUSH
  45.     #pragma pack(push, 2)
  46. #elif PRAGMA_STRUCT_PACK
  47.     #pragma pack(2)
  48. #endif
  49.  
  50.  
  51. enum {
  52.                                                                 /* The following are icons for which there are both icon suites and SICNs. */
  53.     kGenericDocumentIconResource = -4000,
  54.     kGenericStationeryIconResource = -3985,
  55.     kGenericEditionFileIconResource = -3989,
  56.     kGenericApplicationIconResource = -3996,
  57.     kGenericDeskAccessoryIconResource = -3991,
  58.     kGenericFolderIconResource    = -3999,
  59.     kPrivateFolderIconResource    = -3994,
  60.     kFloppyIconResource            = -3998,
  61.     kTrashIconResource            = -3993,
  62.     kGenericRAMDiskIconResource    = -3988,
  63.     kGenericCDROMIconResource    = -3987,                        /* The following are icons for which there are SICNs only. */
  64.     kDesktopIconResource        = -3992,
  65.     kOpenFolderIconResource        = -3997,
  66.     kGenericHardDiskIconResource = -3995,
  67.     kGenericFileServerIconResource = -3972,
  68.     kGenericSuitcaseIconResource = -3970,
  69.     kGenericMoverObjectIconResource = -3969,                    /* The following are icons for which there are icon suites only. */
  70.     kGenericPreferencesIconResource = -3971,
  71.     kGenericQueryDocumentIconResource = -16506,
  72.     kGenericExtensionIconResource = -16415,
  73.     kSystemFolderIconResource    = -3983,
  74.     kAppleMenuFolderIconResource = -3982
  75. };
  76.  
  77.  
  78. enum {
  79.                                                                 /* Obsolete. Use named constants defined above. */
  80.     genericDocumentIconResource    = kGenericDocumentIconResource,
  81.     genericStationeryIconResource = kGenericStationeryIconResource,
  82.     genericEditionFileIconResource = kGenericEditionFileIconResource,
  83.     genericApplicationIconResource = kGenericApplicationIconResource,
  84.     genericDeskAccessoryIconResource = kGenericDeskAccessoryIconResource,
  85.     genericFolderIconResource    = kGenericFolderIconResource,
  86.     privateFolderIconResource    = kPrivateFolderIconResource,
  87.     floppyIconResource            = kFloppyIconResource,
  88.     trashIconResource            = kPrivateFolderIconResource,
  89.     genericRAMDiskIconResource    = kGenericRAMDiskIconResource,
  90.     genericCDROMIconResource    = kGenericCDROMIconResource,
  91.     desktopIconResource            = kDesktopIconResource,
  92.     openFolderIconResource        = kOpenFolderIconResource,
  93.     genericHardDiskIconResource    = kGenericHardDiskIconResource,
  94.     genericFileServerIconResource = kGenericFileServerIconResource,
  95.     genericSuitcaseIconResource    = kGenericSuitcaseIconResource,
  96.     genericMoverObjectIconResource = kGenericMoverObjectIconResource,
  97.     genericPreferencesIconResource = kGenericPreferencesIconResource,
  98.     genericQueryDocumentIconResource = kGenericQueryDocumentIconResource,
  99.     genericExtensionIconResource = kGenericExtensionIconResource,
  100.     systemFolderIconResource    = kSystemFolderIconResource,
  101.     appleMenuFolderIconResource    = kAppleMenuFolderIconResource
  102. };
  103.  
  104.  
  105. enum {
  106.     kStartupFolderIconResource    = -3981,
  107.     kOwnedFolderIconResource    = -3980,
  108.     kDropFolderIconResource        = -3979,
  109.     kSharedFolderIconResource    = -3978,
  110.     kMountedFolderIconResource    = -3977,
  111.     kControlPanelFolderIconResource = -3976,
  112.     kPrintMonitorFolderIconResource = -3975,
  113.     kPreferencesFolderIconResource = -3974,
  114.     kExtensionsFolderIconResource = -3973,
  115.     kFontsFolderIconResource    = -3968,
  116.     kFullTrashIconResource        = -3984
  117. };
  118.  
  119.  
  120. enum {
  121.                                                                 /* Obsolete. Use named constants defined above. */
  122.     startupFolderIconResource    = kStartupFolderIconResource,
  123.     ownedFolderIconResource        = kOwnedFolderIconResource,
  124.     dropFolderIconResource        = kDropFolderIconResource,
  125.     sharedFolderIconResource    = kSharedFolderIconResource,
  126.     mountedFolderIconResource    = kMountedFolderIconResource,
  127.     controlPanelFolderIconResource = kControlPanelFolderIconResource,
  128.     printMonitorFolderIconResource = kPrintMonitorFolderIconResource,
  129.     preferencesFolderIconResource = kPreferencesFolderIconResource,
  130.     extensionsFolderIconResource = kExtensionsFolderIconResource,
  131.     fontsFolderIconResource        = kFontsFolderIconResource,
  132.     fullTrashIconResource        = kFullTrashIconResource
  133. };
  134.  
  135.  
  136. enum {
  137.     kLarge1BitMask                = FOUR_CHAR_CODE('ICN#'),
  138.     kLarge4BitData                = FOUR_CHAR_CODE('icl4'),
  139.     kLarge8BitData                = FOUR_CHAR_CODE('icl8'),
  140.     kSmall1BitMask                = FOUR_CHAR_CODE('ics#'),
  141.     kSmall4BitData                = FOUR_CHAR_CODE('ics4'),
  142.     kSmall8BitData                = FOUR_CHAR_CODE('ics8'),
  143.     kMini1BitMask                = FOUR_CHAR_CODE('icm#'),
  144.     kMini4BitData                = FOUR_CHAR_CODE('icm4'),
  145.     kMini8BitData                = FOUR_CHAR_CODE('icm8')
  146. };
  147.  
  148.  
  149. enum {
  150.                                                                 /* Obsolete. Use names defined above. */
  151.     large1BitMask                = kLarge1BitMask,
  152.     large4BitData                = kLarge4BitData,
  153.     large8BitData                = kLarge8BitData,
  154.     small1BitMask                = kSmall1BitMask,
  155.     small4BitData                = kSmall4BitData,
  156.     small8BitData                = kSmall8BitData,
  157.     mini1BitMask                = kMini1BitMask,
  158.     mini4BitData                = kMini4BitData,
  159.     mini8BitData                = kMini8BitData
  160. };
  161.  
  162. /*  alignment type values */
  163.  
  164. enum {
  165.     kAlignNone                    = 0x00,
  166.     kAlignVerticalCenter        = 0x01,
  167.     kAlignTop                    = 0x02,
  168.     kAlignBottom                = 0x03,
  169.     kAlignHorizontalCenter        = 0x04,
  170.     kAlignAbsoluteCenter        = kAlignVerticalCenter | kAlignHorizontalCenter,
  171.     kAlignCenterTop                = kAlignTop | kAlignHorizontalCenter,
  172.     kAlignCenterBottom            = kAlignBottom | kAlignHorizontalCenter,
  173.     kAlignLeft                    = 0x08,
  174.     kAlignCenterLeft            = kAlignVerticalCenter | kAlignLeft,
  175.     kAlignTopLeft                = kAlignTop | kAlignLeft,
  176.     kAlignBottomLeft            = kAlignBottom | kAlignLeft,
  177.     kAlignRight                    = 0x0C,
  178.     kAlignCenterRight            = kAlignVerticalCenter | kAlignRight,
  179.     kAlignTopRight                = kAlignTop | kAlignRight,
  180.     kAlignBottomRight            = kAlignBottom | kAlignRight
  181. };
  182.  
  183.  
  184. enum {
  185.                                                                 /* Obsolete. Use names defined above. */
  186.     atNone                        = kAlignNone,
  187.     atVerticalCenter            = kAlignVerticalCenter,
  188.     atTop                        = kAlignTop,
  189.     atBottom                    = kAlignBottom,
  190.     atHorizontalCenter            = kAlignHorizontalCenter,
  191.     atAbsoluteCenter            = kAlignAbsoluteCenter,
  192.     atCenterTop                    = kAlignCenterTop,
  193.     atCenterBottom                = kAlignCenterBottom,
  194.     atLeft                        = kAlignLeft,
  195.     atCenterLeft                = kAlignCenterLeft,
  196.     atTopLeft                    = kAlignTopLeft,
  197.     atBottomLeft                = kAlignBottomLeft,
  198.     atRight                        = kAlignRight,
  199.     atCenterRight                = kAlignCenterRight,
  200.     atTopRight                    = kAlignTopRight,
  201.     atBottomRight                = kAlignBottomRight
  202. };
  203.  
  204. typedef SInt16                             IconAlignmentType;
  205. /*  transform type values  */
  206.  
  207. enum {
  208.     kTransformNone                = 0x00,
  209.     kTransformDisabled            = 0x01,
  210.     kTransformOffline            = 0x02,
  211.     kTransformOpen                = 0x03,
  212.     kTransformLabel1            = 0x0100,
  213.     kTransformLabel2            = 0x0200,
  214.     kTransformLabel3            = 0x0300,
  215.     kTransformLabel4            = 0x0400,
  216.     kTransformLabel5            = 0x0500,
  217.     kTransformLabel6            = 0x0600,
  218.     kTransformLabel7            = 0x0700,
  219.     kTransformSelected            = 0x4000,
  220.     kTransformSelectedDisabled    = kTransformSelected | kTransformDisabled,
  221.     kTransformSelectedOffline    = kTransformSelected | kTransformOffline,
  222.     kTransformSelectedOpen        = kTransformSelected | kTransformOpen
  223. };
  224.  
  225.  
  226. enum {
  227.                                                                 /* Obsolete. Use names defined above. */
  228.     ttNone                        = kTransformNone,
  229.     ttDisabled                    = kTransformDisabled,
  230.     ttOffline                    = kTransformOffline,
  231.     ttOpen                        = kTransformOpen,
  232.     ttLabel1                    = kTransformLabel1,
  233.     ttLabel2                    = kTransformLabel2,
  234.     ttLabel3                    = kTransformLabel3,
  235.     ttLabel4                    = kTransformLabel4,
  236.     ttLabel5                    = kTransformLabel5,
  237.     ttLabel6                    = kTransformLabel6,
  238.     ttLabel7                    = kTransformLabel7,
  239.     ttSelected                    = kTransformSelected,
  240.     ttSelectedDisabled            = kTransformSelectedDisabled,
  241.     ttSelectedOffline            = kTransformSelectedOffline,
  242.     ttSelectedOpen                = kTransformSelectedOpen
  243. };
  244.  
  245. typedef SInt16                             IconTransformType;
  246. /*  Selector mask values  */
  247.  
  248. enum {
  249.     kSelectorLarge1Bit            = 0x00000001,
  250.     kSelectorLarge4Bit            = 0x00000002,
  251.     kSelectorLarge8Bit            = 0x00000004,
  252.     kSelectorSmall1Bit            = 0x00000100,
  253.     kSelectorSmall4Bit            = 0x00000200,
  254.     kSelectorSmall8Bit            = 0x00000400,
  255.     kSelectorMini1Bit            = 0x00010000,
  256.     kSelectorMini4Bit            = 0x00020000,
  257.     kSelectorMini8Bit            = 0x00040000,
  258.     kSelectorAllLargeData        = 0x000000FF,
  259.     kSelectorAllSmallData        = 0x0000FF00,
  260.     kSelectorAllMiniData        = 0x00FF0000,
  261.     kSelectorAll1BitData        = kSelectorLarge1Bit | kSelectorSmall1Bit | kSelectorMini1Bit,
  262.     kSelectorAll4BitData        = kSelectorLarge4Bit | kSelectorSmall4Bit | kSelectorMini4Bit,
  263.     kSelectorAll8BitData        = kSelectorLarge8Bit | kSelectorSmall8Bit | kSelectorMini8Bit,
  264.     kSelectorAllAvailableData    = (long)0xFFFFFFFF
  265. };
  266.  
  267.  
  268. enum {
  269.                                                                 /* Obsolete. Use names defined above. */
  270.     svLarge1Bit                    = kSelectorLarge1Bit,
  271.     svLarge4Bit                    = kSelectorLarge4Bit,
  272.     svLarge8Bit                    = kSelectorLarge8Bit,
  273.     svSmall1Bit                    = kSelectorSmall1Bit,
  274.     svSmall4Bit                    = kSelectorSmall4Bit,
  275.     svSmall8Bit                    = kSelectorSmall8Bit,
  276.     svMini1Bit                    = kSelectorMini1Bit,
  277.     svMini4Bit                    = kSelectorMini4Bit,
  278.     svMini8Bit                    = kSelectorMini8Bit,
  279.     svAllLargeData                = kSelectorAllLargeData,
  280.     svAllSmallData                = kSelectorAllSmallData,
  281.     svAllMiniData                = kSelectorAllMiniData,
  282.     svAll1BitData                = kSelectorAll1BitData,
  283.     svAll4BitData                = kSelectorAll4BitData,
  284.     svAll8BitData                = kSelectorAll8BitData,
  285.     svAllAvailableData            = kSelectorAllAvailableData
  286. };
  287.  
  288. typedef UInt32                             IconSelectorValue;
  289. typedef CALLBACK_API( OSErr , IconActionProcPtr )(ResType theType, Handle *theIcon, void *yourDataPtr);
  290. typedef STACK_UPP_TYPE(IconActionProcPtr)                         IconActionUPP;
  291. enum { uppIconActionProcInfo = 0x00000FE0 };                     /* pascal 2_bytes Func(4_bytes, 4_bytes, 4_bytes) */
  292. #define NewIconActionProc(userRoutine)                             (IconActionUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconActionProcInfo, GetCurrentArchitecture())
  293. #define CallIconActionProc(userRoutine, theType, theIcon, yourDataPtr)  CALL_THREE_PARAMETER_UPP((userRoutine), uppIconActionProcInfo, (theType), (theIcon), (yourDataPtr))
  294. typedef IconActionProcPtr                 IconAction;
  295. typedef CALLBACK_API( Handle , IconGetterProcPtr )(ResType theType, void *yourDataPtr);
  296. typedef STACK_UPP_TYPE(IconGetterProcPtr)                         IconGetterUPP;
  297. enum { uppIconGetterProcInfo = 0x000003F0 };                     /* pascal 4_bytes Func(4_bytes, 4_bytes) */
  298. #define NewIconGetterProc(userRoutine)                             (IconGetterUPP)NewRoutineDescriptor((ProcPtr)(userRoutine), uppIconGetterProcInfo, GetCurrentArchitecture())
  299. #define CallIconGetterProc(userRoutine, theType, yourDataPtr)     CALL_TWO_PARAMETER_UPP((userRoutine), uppIconGetterProcInfo, (theType), (yourDataPtr))
  300. typedef IconGetterProcPtr                 IconGetter;
  301. #if !OLDROUTINELOCATIONS
  302.  
  303. struct CIcon {
  304.     PixMap                             iconPMap;                    /*the icon's pixMap*/
  305.     BitMap                             iconMask;                    /*the icon's mask*/
  306.     BitMap                             iconBMap;                    /*the icon's bitMap*/
  307.     Handle                             iconData;                    /*the icon's data*/
  308.     SInt16                             iconMaskData[1];            /*icon's mask and BitMap data*/
  309. };
  310. typedef struct CIcon                    CIcon;
  311. typedef CIcon *                            CIconPtr;
  312. typedef CIconPtr *                        CIconHandle;
  313. EXTERN_API( CIconHandle )
  314. GetCIcon                        (SInt16                 iconID)                                ONEWORDINLINE(0xAA1E);
  315.  
  316. EXTERN_API( void )
  317. PlotCIcon                        (const Rect *            theRect,
  318.                                  CIconHandle             theIcon)                            ONEWORDINLINE(0xAA1F);
  319.  
  320. EXTERN_API( void )
  321. DisposeCIcon                    (CIconHandle             theIcon)                            ONEWORDINLINE(0xAA25);
  322.  
  323. #endif  /*  !OLDROUTINELOCATIONS */
  324.  
  325. EXTERN_API( Handle )
  326. GetIcon                            (SInt16                 iconID)                                ONEWORDINLINE(0xA9BB);
  327.  
  328. EXTERN_API( void )
  329. PlotIcon                        (const Rect *            theRect,
  330.                                  Handle                 theIcon)                            ONEWORDINLINE(0xA94B);
  331.  
  332.  
  333.  
  334. /*
  335.     Note:    IconSuiteRef and IconCacheRef should be an abstract types, 
  336.             but too much source code already relies on them being of type Handle.
  337. */
  338.  
  339. typedef Handle                             IconSuiteRef;
  340. typedef Handle                             IconCacheRef;
  341.  
  342. EXTERN_API( OSErr )
  343. PlotIconID                        (const Rect *            theRect,
  344.                                  IconAlignmentType         align,
  345.                                  IconTransformType         transform,
  346.                                  SInt16                 theResID)                            THREEWORDINLINE(0x303C, 0x0500, 0xABC9);
  347.  
  348. EXTERN_API( OSErr )
  349. NewIconSuite                    (IconSuiteRef *            theIconSuite)                        THREEWORDINLINE(0x303C, 0x0207, 0xABC9);
  350.  
  351. EXTERN_API( OSErr )
  352. AddIconToSuite                    (Handle                 theIconData,
  353.                                  IconSuiteRef             theSuite,
  354.                                  ResType                 theType)                            THREEWORDINLINE(0x303C, 0x0608, 0xABC9);
  355.  
  356. EXTERN_API( OSErr )
  357. GetIconFromSuite                (Handle *                theIconData,
  358.                                  IconSuiteRef             theSuite,
  359.                                  ResType                 theType)                            THREEWORDINLINE(0x303C, 0x0609, 0xABC9);
  360.  
  361. EXTERN_API( OSErr )
  362. ForEachIconDo                    (IconSuiteRef             theSuite,
  363.                                  IconSelectorValue         selector,
  364.                                  IconActionUPP             action,
  365.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x080A, 0xABC9);
  366.  
  367. EXTERN_API( OSErr )
  368. GetIconSuite                    (IconSuiteRef *            theIconSuite,
  369.                                  SInt16                 theResID,
  370.                                  IconSelectorValue         selector)                            THREEWORDINLINE(0x303C, 0x0501, 0xABC9);
  371.  
  372. EXTERN_API( OSErr )
  373. DisposeIconSuite                (IconSuiteRef             theIconSuite,
  374.                                  Boolean                 disposeData)                        THREEWORDINLINE(0x303C, 0x0302, 0xABC9);
  375.  
  376. EXTERN_API( OSErr )
  377. PlotIconSuite                    (const Rect *            theRect,
  378.                                  IconAlignmentType         align,
  379.                                  IconTransformType         transform,
  380.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0603, 0xABC9);
  381.  
  382. EXTERN_API( OSErr )
  383. MakeIconCache                    (IconCacheRef *            theCache,
  384.                                  IconGetterUPP             makeIcon,
  385.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0604, 0xABC9);
  386.  
  387. EXTERN_API( OSErr )
  388. LoadIconCache                    (const Rect *            theRect,
  389.                                  IconAlignmentType         align,
  390.                                  IconTransformType         transform,
  391.                                  IconCacheRef             theIconCache)                        THREEWORDINLINE(0x303C, 0x0606, 0xABC9);
  392.  
  393. EXTERN_API( OSErr )
  394. PlotIconMethod                    (const Rect *            theRect,
  395.                                  IconAlignmentType         align,
  396.                                  IconTransformType         transform,
  397.                                  IconGetterUPP             theMethod,
  398.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0805, 0xABC9);
  399.  
  400. EXTERN_API( OSErr )
  401. GetLabel                        (SInt16                 labelNumber,
  402.                                  RGBColor *                labelColor,
  403.                                  Str255                 labelString)                        THREEWORDINLINE(0x303C, 0x050B, 0xABC9);
  404.  
  405. EXTERN_API( Boolean )
  406. PtInIconID                        (Point                     testPt,
  407.                                  const Rect *            iconRect,
  408.                                  IconAlignmentType         align,
  409.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x060D, 0xABC9);
  410.  
  411. EXTERN_API( Boolean )
  412. PtInIconSuite                    (Point                     testPt,
  413.                                  const Rect *            iconRect,
  414.                                  IconAlignmentType         align,
  415.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x070E, 0xABC9);
  416.  
  417. EXTERN_API( Boolean )
  418. PtInIconMethod                    (Point                     testPt,
  419.                                  const Rect *            iconRect,
  420.                                  IconAlignmentType         align,
  421.                                  IconGetterUPP             theMethod,
  422.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x090F, 0xABC9);
  423.  
  424. EXTERN_API( Boolean )
  425. RectInIconID                    (const Rect *            testRect,
  426.                                  const Rect *            iconRect,
  427.                                  IconAlignmentType         align,
  428.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x0610, 0xABC9);
  429.  
  430. EXTERN_API( Boolean )
  431. RectInIconSuite                    (const Rect *            testRect,
  432.                                  const Rect *            iconRect,
  433.                                  IconAlignmentType         align,
  434.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0711, 0xABC9);
  435.  
  436. EXTERN_API( Boolean )
  437. RectInIconMethod                (const Rect *            testRect,
  438.                                  const Rect *            iconRect,
  439.                                  IconAlignmentType         align,
  440.                                  IconGetterUPP             theMethod,
  441.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0912, 0xABC9);
  442.  
  443. EXTERN_API( OSErr )
  444. IconIDToRgn                        (RgnHandle                 theRgn,
  445.                                  const Rect *            iconRect,
  446.                                  IconAlignmentType         align,
  447.                                  SInt16                 iconID)                                THREEWORDINLINE(0x303C, 0x0613, 0xABC9);
  448.  
  449. EXTERN_API( OSErr )
  450. IconSuiteToRgn                    (RgnHandle                 theRgn,
  451.                                  const Rect *            iconRect,
  452.                                  IconAlignmentType         align,
  453.                                  IconSuiteRef             theIconSuite)                        THREEWORDINLINE(0x303C, 0x0714, 0xABC9);
  454.  
  455. EXTERN_API( OSErr )
  456. IconMethodToRgn                    (RgnHandle                 theRgn,
  457.                                  const Rect *            iconRect,
  458.                                  IconAlignmentType         align,
  459.                                  IconGetterUPP             theMethod,
  460.                                  void *                    yourDataPtr)                        THREEWORDINLINE(0x303C, 0x0915, 0xABC9);
  461.  
  462. EXTERN_API( OSErr )
  463. SetSuiteLabel                    (IconSuiteRef             theSuite,
  464.                                  SInt16                 theLabel)                            THREEWORDINLINE(0x303C, 0x0316, 0xABC9);
  465.  
  466. EXTERN_API( SInt16 )
  467. GetSuiteLabel                    (IconSuiteRef             theSuite)                            THREEWORDINLINE(0x303C, 0x0217, 0xABC9);
  468.  
  469. EXTERN_API( OSErr )
  470. GetIconCacheData                (IconCacheRef             theCache,
  471.                                  void **                theData)                            THREEWORDINLINE(0x303C, 0x0419, 0xABC9);
  472.  
  473. EXTERN_API( OSErr )
  474. SetIconCacheData                (IconCacheRef             theCache,
  475.                                  void *                    theData)                            THREEWORDINLINE(0x303C, 0x041A, 0xABC9);
  476.  
  477. EXTERN_API( OSErr )
  478. GetIconCacheProc                (IconCacheRef             theCache,
  479.                                  IconGetterUPP *        theProc)                            THREEWORDINLINE(0x303C, 0x041B, 0xABC9);
  480.  
  481. EXTERN_API( OSErr )
  482. SetIconCacheProc                (IconCacheRef             theCache,
  483.                                  IconGetterUPP             theProc)                            THREEWORDINLINE(0x303C, 0x041C, 0xABC9);
  484.  
  485. EXTERN_API( OSErr )
  486. PlotIconHandle                    (const Rect *            theRect,
  487.                                  IconAlignmentType         align,
  488.                                  IconTransformType         transform,
  489.                                  Handle                 theIcon)                            THREEWORDINLINE(0x303C, 0x061D, 0xABC9);
  490.  
  491. EXTERN_API( OSErr )
  492. PlotSICNHandle                    (const Rect *            theRect,
  493.                                  IconAlignmentType         align,
  494.                                  IconTransformType         transform,
  495.                                  Handle                 theSICN)                            THREEWORDINLINE(0x303C, 0x061E, 0xABC9);
  496.  
  497. EXTERN_API( OSErr )
  498. PlotCIconHandle                    (const Rect *            theRect,
  499.                                  IconAlignmentType         align,
  500.                                  IconTransformType         transform,
  501.                                  CIconHandle             theCIcon)                            THREEWORDINLINE(0x303C, 0x061F, 0xABC9);
  502.  
  503.  
  504.  
  505.  
  506.  
  507.  
  508.  
  509.  
  510.  
  511.  
  512.  
  513.  
  514.  
  515.  
  516. #if PRAGMA_STRUCT_ALIGN
  517.     #pragma options align=reset
  518. #elif PRAGMA_STRUCT_PACKPUSH
  519.     #pragma pack(pop)
  520. #elif PRAGMA_STRUCT_PACK
  521.     #pragma pack()
  522. #endif
  523.  
  524. #ifdef PRAGMA_IMPORT_OFF
  525. #pragma import off
  526. #elif PRAGMA_IMPORT
  527. #pragma import reset
  528. #endif
  529.  
  530. #ifdef __cplusplus
  531. }
  532. #endif
  533.  
  534. #endif /* __ICONS__ */
  535.  
  536.